﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Sauces.Bussinees.Entities.Almacen;
using System.Data.Entity.ModelConfiguration;
using System.ComponentModel.DataAnnotations.Schema;


namespace Sauces.Repository.Mapping
{
   public  class ProductoMap:EntityTypeConfiguration<Producto>
    {
       public ProductoMap()
       {
           this.HasKey(t => t.Id);

           this.Property(p => p.Nombre).HasMaxLength(50).IsRequired();
           this.Property(p => p.PVenta).HasPrecision(9,2).IsRequired();
           this.Property(p => p.PCompra).HasPrecision(9,2).IsRequired();
           this.Property(p => p.Stock).IsRequired();

           this.ToTable("Producto");
           this.Property(p => p.Id).HasColumnName("IdProducto");

           this.HasRequired(p => p.Categoria).WithMany(c => c.Productos).HasForeignKey(p => p.IdCategoria).WillCascadeOnDelete(false);
           this.HasRequired(p => p.Proveedor).WithMany(pr => pr.Productos).HasForeignKey(p => p.IdProveedor).WillCascadeOnDelete(false);
           


       }
    }
}
